﻿using System;

namespace WebForm
{
    public partial class AJAX : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //1. 正常的响应，会执行完整的页面生成过程，并返回请求的页面

            //2. 此处，通过检查查询字符串，若包含“ajax”键，则中断正常响应，而改为以数据进行响应。若查询字符串不包含“ajax”键，则正常以页面响应。
            if (Request.QueryString["ajax"] != null)
            {
                //3. 准备数据，此例中为整型数组。
                var data = new int[] { 5, 6, 7, 8 };
                //4. 修改响应的类型为 JSON 格式。
                Response.ContentType = "text/json";
                //5. 将数据格式化为 JSON 并写入响应流。
                Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(data));
                //6. 结束本次响应。这样页面响应的其它步骤就会被略过。
                Response.End();
            }

            //现在转到 AJAX.aspx 查看。
        }
    }
}